package com.vshop.entity.alast.multiple.order.request;

import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * Multiple模式：下单接口请求实体。
 * sign代表签名字段，值等于RequestMultipleOrder所有值除sign字段和为null为空字段排序后MD5的值
 *
 * @author lm
 * @date 2020/6/8 15:52
 */
@Data
public class RequestMultipleOrder implements Serializable {

    private static final long serialVersionUID = 7808950879506912527L;

    @ApiModelProperty(value = "接口名称", example = "verify", dataType = "String")
    private String tradeType;

    @ApiModelProperty(value = "访问时间戳", example = "20181031256548", dataType = "String")
    private String tradeTime;

    @ApiModelProperty(value = "接口版本，本次接口值为：3.0", example = "3.0", dataType = "String")
    private String version;

    @ApiModelProperty(value = "终端设备标识：0-移动终端；1-pc。此字段不可传空字符串", example = "0", dataType = "String")
    private String terminal;

    @ApiModelProperty(value = "卡片归属标识：0-归属领科（当为此值时卡片需要通过领科企业卡片有效性的验证）；1-不归属领科（当为此值时卡片不需要通过领科企业卡片有效性的验证）；默认标识传0（归属领科），如果打开H5时携带此参数以实际为准。此字段不可传空字符串", example = "0", dataType = "String")
    private String mark;

    @ApiModelProperty(value = "语言编码：0- 汉语（中文）;1- 英语;2- 西班牙语;3- 法语4- 葡萄牙语;5- 印度语;6- 德语;7-日语;8- 韩语;9- 阿拉伯语;10-台湾繁中;11-港体繁中;12-俄语", example = "0", dataType = "String")
    private String languageCode;

    @ApiModelProperty(value = "渠道编码", example = "P000818", dataType = "String")
    private String partnerCode;

    @ApiModelProperty(value = "支付ID", example = "P0008182020061214140465562", dataType = "String")
    private String payId;

    @ApiModelProperty(value = "订单总共的支付金额", example = "4.99", dataType = "String")
    private String payAmount;

    @ApiModelProperty(value = "支付货币", example = "USD", dataType = "String")
    private String payCurrency;

    @ApiModelProperty(value = "资费套餐编码", example = "PACKAGE20180428000007", dataType = "String")
    private String packageCode;

    @ApiModelProperty(value = "真正的前端展示的新建的套餐编码", example = "", dataType = "String")
    private String servicePlanCode;

    @ApiModelProperty(value = "真正的前端展示的新建的套餐名称", example = "", dataType = "String")
    private String servicePlanShowName;

    @ApiModelProperty(value = "订购周期。", example = "1", dataType = "String")
    private String orderPeriod;

    @ApiModelProperty(value = "外部渠道客户订单号", example = "000000000001", dataType = "String")
    private String requestOrderId;

    //@ApiModelProperty(value = "Multiple多卡请求下单时的iccid与orderNo的集合", example = "", dataType = "List")
    //private List<MultipleDeviceOrder> orderList;

    @ApiModelProperty(value = "Multiple多卡请求下单时的iccid与orderNo的数组，用字符串传一个数组", example = "[\n" + "{\n" + " \"deviceCode\": \"89860220190905123941\",\n" + " \"orderNo\": \"2020061214140465561\"\n" + " },{\n" + " \"deviceCode\": \"89860220190905123942\",\n" + "\"orderNo\": \"2020061214140465562\"\n" + " }\n" + "]", dataType = "List")
    private String orderList;

    @ApiModelProperty(value = "请求签名", example = "b2a9e697bdff66049803d62ffeffccaf", dataType = "String")
    private String sign;

    @ApiModelProperty(value = "自动续费标志：1-开（有自动续费功能）;0-关(没有自动续费功能);默认为0就是没有自动续费功能", example = "0", dataType = "String")
    private String autoRenewal;

}
